4. 데이터 전송 기초4

DHCP (Dynamic Host Configuration Protocol): 자동 IP 주소 할당

DHCP 도입 배경과 필요성

수동 설정 방식의 한계:

DHCP의 해결책: 프라이빗 네트워크 내에서 사용 가능한 IP 주소를 자동으로 할당하고 관리

DHCP의 핵심 가치:
─────────────────────────────
┌─ 자동화: 수동 설정 제거
├─ 중앙 관리: IP 풀 통합 관리
└─ 유연성: 임대/갱신/반환

전통적 방식:
─────────────────────────────
- IT 관리자가 수동 할당
- 엑셀로 IP 관리
- 충돌 시 수동 해결

DHCP 방식:
─────────────────────────────
- 자동 할당, 충돌 방지
- 동적 풀 관리
- 임대 시간 제어

DHCP 동작 원리: 4단계 프로세스

DHCP 4-Way Handshake:
═══════════════════════════════════════════════════════

클라이언트                    DHCP 서버
(IP 없음: 0.0.0.0)           (IP 풀 관리)
    │                              │
    │  1. DISCOVER (브로드캐스트) │
    │  "DHCP 서버 있나요?"         │
    ├─────────────────────────────>│
    │                              │ (사용 가능한 IP 검색)
    │                              │
    │  2. OFFER                    │
    │  "192.168.1.100 어때요?      │
    │   게이트웨이: 192.168.1.1    │
    │<─────────────────────────────┤
    │   DNS: 8.8.8.8"              │
    │                              │
    │  3. REQUEST                  │
    │  "192.168.1.100 사용할게요"  │
    ├─────────────────────────────>│
    │                              │ (IP 예약 목록 추가)
    │                              │
    │  4. ACK                      │
    │  "확인, 24시간 사용 가능"    │
    │<─────────────────────────────┤
    │                              │
(IP 주소 설정 완료)         (임대 기록 저장)
네트워크 사용 시작

DHCP가 제공하는 정보와 임대 관리

할당 정보 (Configuration Parameters):

임대 시간 메커니즘:

Pasted image 20251120173954.png

임대 시간 설계 이유:


NAT/NAPT: 주소 변환의 마법

NAT (Network Address Translation) 탄생 배경

IPv4 주소 고갈 문제:

NAT의 해결 방식: 여러 프라이빗 IP를 하나의 글로벌 IP로 묶어서 인터넷 접속

NAT 기본 구조:
═══════════════════════════════════════════════════════

프라이빗 네트워크 (10.0.0.0/24)           인터넷
─────────────────────────────           ─────────
PC1: 10.0.0.10 ─┐
                │
PC2: 10.0.0.20 ─┼─> [NAT 라우터] ───> 웹 서버
                │   내부: 10.0.0.1      142.250.185.46
PC3: 10.0.0.30 ─┘   외부: 203.0.113.5

핵심 개념:
─────────────────────────────
- 내부: 여러 프라이빗 IP
- 외부: 단일 글로벌 IP
- 주소 변환을 통한 통신

NAPT (Network Address Port Translation): 포트를 활용한 다중화

기본 NAT의 한계:

NAPT의 혁신 - 포트 번호 활용:

NAPT 동작 과정:
═══════════════════════════════════════════════════════

WAS1 (10.0.0.10)    NAT GW              외부 서버
WAS2 (10.0.0.20)   (203.0.113.5)      (142.250.185.46)
WAS3 (10.0.0.30)
     │                  │                    │
     │ 10.0.0.10:54321  │                    │
     ├─────────────────>│                    │
     │                  │ [테이블 기록]      │
     │                  │ 54321 → 20001      │
     │                  │ 203.0.113.5:20001  │
     │                  ├───────────────────>│
     │                  │                    │
     │ 10.0.0.20:54322  │                    │
     ├─────────────────>│                    │
     │                  │ [테이블 기록]      │
     │                  │ 54322 → 20002      │
     │                  │ 203.0.113.5:20002  │
     │                  ├───────────────────>│
     │                  │                    │
     │ 10.0.0.30:54323  │                    │
     ├─────────────────>│                    │
     │                  │ [테이블 기록]      │
     │                  │ 54323 → 20003      │
     │                  │ 203.0.113.5:20003  │
     │                  ├───────────────────>│
     │                  │                    │
     │                  │    응답: 20001     │
     │                  │<───────────────────┤
     │                  │ [테이블 조회]      │
     │  10.0.0.10:54321 │ 20001 → 10.0.0.10  │
     │<─────────────────┤                    │

NAPT 테이블 구조:

내부 IP:포트          →  외부 포트  →  목적지 IP:포트
──────────────────────────────────────────────────────
10.0.0.10:54321  →  20001  →  142.250.185.46:80
10.0.0.20:54322  →  20002  →  142.250.185.46:80
10.0.0.30:54323  →  20003  →  142.250.185.46:80

NAT/NAPT의 실무 활용과 한계

클라우드 환경에서의 NAT 게이트웨이:

VPC 구조 (10.0.0.0/16):
═══════════════════════════════════════════════════════

프라이빗 서브넷
─────────────────────────────
[웹서버1: 10.0.1.10] ─┐
[웹서버2: 10.0.1.20] ─┼─> [NAT Gateway]
[DB서버: 10.0.2.10]  ─┘     10.0.0.100
                              │
                              │
                        [Internet Gateway]
                        글로벌 IP: 54.123.45.67
                              │
                         [인터넷]

NAT Gateway 역할:
─────────────────────────────
- 아웃바운드 전용 (외부 API 호출)
- 패키지 다운로드
- 보안: 인바운드 차단

NAT의 장단점:

장점:

단점:


라우팅 (Routing): 통신 경로 제어의 핵심

라우팅의 기본 원리

라우터의 핵심 작업: 패킷의 목적지 IP 주소를 분석하여 적절한 경로로 전달

라우터 패킷 처리 흐름:
═══════════════════════════════════════════════════════

[패킷 도착]
    │
    ▼
[목적지 IP 확인]
    │
    ▼
┌─────────────────────┐
│ 내가 관리하는       │
│ LAN 대상?           │
└─────────────────────┘
    │           │
   YES         NO
    │           │
    ▼           ▼
[로컬 전달]  [라우팅 테이블 검색]
ARP로 MAC       │
확인            ▼
            ┌─────────────────┐
            │ 매칭되는        │
            │ 경로 있음?      │
            └─────────────────┘
                │         │
               YES       NO
                │         │
                ▼         ▼
          [해당 경로]  [기본 게이트웨이]
          Next Hop     0.0.0.0/0

핵심 개념:
─────────────────────────────
- 목적지 기반 판단
- 최적 경로 선택
- 홉바이홉(Hop-by-Hop) 전달

라우팅 테이블과 메트릭

라우팅 테이블 구조:

목적지 네트워크     서브넷 마스크      게이트웨이         메트릭    인터페이스
─────────────────────────────────────────────────────────────────────────
10.0.1.0           255.255.255.0     직접 연결            0       eth0
192.168.1.0        255.255.255.0     10.0.1.1            10       eth0
8.8.8.8            255.255.255.255   10.0.1.1            20       eth0
0.0.0.0            0.0.0.0           10.0.1.254         100       eth1

메트릭 (Metric) - 경로 비용 측정:

메트릭 요소:
═══════════════════════════════════════════════════════

1. 홉 카운트 (Hop Count)
   - 거쳐가는 라우터 수

2. 대역폭 (Bandwidth)
   - 링크 속도

3. 지연시간 (Latency)
   - 전송 지연

4. 신뢰성 (Reliability)
   - 에러율

5. 부하 (Load)
   - 트래픽 혼잡도

최단 경로 선택:
─────────────────────────────
메트릭 값이 가장 낮은 경로 선택

최적 경로 선택 예시:

경로 선택 시나리오:
═══════════════════════════════════════════════════════

출발지                                      목적지
10.0.1.10 ──┬──> [라우터 A] ──┬──> 192.168.1.10
            │    메트릭: 5    │
            │                 └──> [라우터 C] ──> 총: 5+3=8 ✅
            │                      메트릭: 3
            │
            └──> [라우터 B] ──────> [라우터 D]
                 메트릭: 10         메트릭: 2
                                    총: 10+2=12 ✗

경로 비교:
─────────────────────────────
A → C → 목적지: 총 메트릭 8 (선택됨)
A → D → 목적지: 총 메트릭 12 (미선택)

라우팅 프로토콜: IGP와 EGP

프로토콜 분류 기준 - AS (Autonomous System):

라우팅 프로토콜 분류:
═══════════════════════════════════════════════════════

IGP (Interior Gateway Protocol)
─────────────────────────────
- 동일 AS 내부
- 조직 내 라우팅
- 프로토콜: RIP, OSPF, EIGRP

EGP (Exterior Gateway Protocol)
─────────────────────────────
- AS 간 라우팅
- 인터넷 백본
- 프로토콜: BGP

AS (Autonomous System):
─────────────────────────────
- 16비트 번호: 1~65535
- 특정 조직의 네트워크 관리 단위
- 동일한 관리 정책 적용

주요 라우팅 프로토콜 비교:

|프로토콜|유형|알고리즘|용도|특징|

|---|---|---|---|---|

|RIP|IGP|Distance Vector|소규모 네트워크|홉 카운트 기반 (최대 15홉)|

|OSPF|IGP|Link State|대규모 엔터프라이즈|빠른 수렴, 계층 구조 지원|

|EIGRP|IGP|Hybrid|Cisco 네트워크|대역폭+지연 고려, Cisco 전용|

|BGP|EGP|Path Vector|인터넷 백본|AS 간 라우팅, 정책 기반|

실무 시나리오: 대기업 네트워크의 라우팅 구조

내부 네트워크 (IGP)와 외부 연결 (EGP)의 역할 분담:

Pasted image 20251120173732.png

각 계층의 역할:

1. 내부 네트워크 (IGP - OSPF):

역할: 회사 내부 지사들 간의 최적 경로 찾기
- 본사 ↔ 서울 지사: OSPF가 자동으로 최단 경로 계산
- 서울 ↔ 부산: 직접 연결 vs 본사 경유 중 메트릭 낮은 경로 선택
- 장애 발생 시 자동으로 우회 경로 탐색

예시: 부산 지사에서 본사로 데이터 전송
→ OSPF가 계산한 최적 경로로 자동 라우팅

2. 경계 라우터 (EGP - BGP):

역할: 인터넷(외부 AS)과의 연결 관리
- ISP A, ISP B 중 어느 경로로 나갈지 결정
- 외부에서 들어오는 트래픽을 내부로 전달
- 정책 기반: "비용", "속도", "신뢰성" 등 비즈니스 기준 적용

예시: 회사 웹사이트 접속
→ BGP가 ISP A 경로가 더 빠르다고 판단
→ ISP A를 통해 트래픽 라우팅

실제 패킷 흐름 예시:

외부 사용자가 부산 지사 서버 접속 시나리오:
═══════════════════════════════════════════════════════

외부 사용자          BGP 라우터         OSPF 네트워크      부산 서버
(인터넷)             (경계)             (내부)          (192.168.10.50)
    │                    │                   │                │
    │ 1. 패킷 도착       │                   │                │
    │ "AS 65001의        │                   │                │
    │  192.168.10.50"    │                   │                │
    ├───────────────────>│                   │                │
    │                    │                   │                │
    │                    │ [BGP 판단]        │                │
    │                    │ "우리 AS 주소"    │                │
    │                    │ "내부로 전달"     │                │
    │                    │                   │                │
    │                    │ 2. 내부로 전달    │                │
    │                    ├──────────────────>│                │
    │                    │                   │                │
    │                    │                   │ [OSPF 판단]    │
    │                    │                   │ "부산 지사"    │
    │                    │                   │ "최적 경로"    │
    │                    │                   │                │
    │                    │                   │ 3. 부산으로    │
    │                    │                   ├───────────────>│
    │                    │                   │                │
    │                    │                   │ 4. 응답        │
    │                    │                   │<───────────────┤
    │                    │ 5. 경계로 전달    │                │
    │                    │<──────────────────┤                │
    │ 6. 인터넷으로 전송 │                   │                │
    │<───────────────────┤                   │                │

핵심 이해:

IGP (OSPF) = "우리 집 안에서 방 찾기"
→ 본사, 지사들 간의 효율적 경로 자동 계산
→ 빠르게 변화 대응, 내부 최적화

EGP (BGP) = "다른 집(조직)과 연결하기"
→ 인터넷과 우리 네트워크 연결
→ 정책 기반, 비즈니스 요구사항 반영
→ 안정성과 제어 우선

기본 게이트웨이 (Default Gateway): 미지의 경로를 위한 출구

기본 게이트웨이의 역할

개념: 라우팅 테이블에 명시되지 않은 모든 목적지로 가는 패킷을 처리하는 "최후의 수단"

기본 게이트웨이 결정 흐름:
═══════════════════════════════════════════════════════

[패킷 도착]
    │
    ▼
[라우팅 테이블 검색]
    │
    ▼
┌─────────────────────┐
│ 매칭되는            │
│ 경로 존재?          │
└─────────────────────┘
    │           │
   YES         NO
    │           │
    ▼           ▼
[해당 경로로]  ┌─────────────────────┐
[전달]        │ 기본 게이트웨이     │
              │ 설정됨?             │
              └─────────────────────┘
                  │           │
                 YES         NO
                  │           │
                  ▼           ▼
            [기본 GW로]  [패킷 폐기]
            [전달]       [ICMP 에러]
            [0.0.0.0/0]

설계 철학:
─────────────────────────────
"알 수 없는 목적지는 상위 라우터에게 위임"

기본 게이트웨이 설정 패턴

일반 클라이언트 설정:

# 개인 PC의 라우팅 테이블
목적지         게이트웨이         설명
────────────────────────────────────────
192.168.1.0   직접 연결          로컬 LAN
0.0.0.0       192.168.1.1        기본 게이트웨이 (모든 외부 트래픽)

엔터프라이즈 라우터 설정:

계층적 게이트웨이 구조:
═══════════════════════════════════════════════════════

내부 네트워크                          외부
─────────────────────────────          ─────────

[클라이언트] ──> [내부 라우터] ──> [경계 라우터] ──> [ISP]
기본 GW:         10.0.1.1          기본 GW:         코어
10.0.1.1                           ISP 라우터       라우터
                                        │
                                        ▼
                                    [인터넷]

계층적 게이트웨이 원칙:
─────────────────────────────
"각 계층마다 상위로 위임"

인터넷 게이트웨이: 클라우드 환경의 특수 사례

AWS VPC에서의 게이트웨이 구조:

VPC (10.0.0.0/16) 구조:
═══════════════════════════════════════════════════════

퍼블릭 서브넷 (10.0.1.0/24)
─────────────────────────────
[웹서버]
기본 GW: 10.0.1.1 (IGW로 직접)
    │
    └──> [Internet Gateway] ──> [인터넷]
         (IGW: 0.0.0.0/0)

프라이빗 서브넷 (10.0.2.0/24)
─────────────────────────────
[앱서버] ──┐
          ├──> [NAT Gateway] ──> [IGW] ──> [인터넷]
[DB서버] ──┘
기본 GW: NAT GW

라우팅 테이블 분리:
─────────────────────────────
- 퍼블릭: IGW 직접 연결
- 프라이빗: NAT GW 경유

라우팅 테이블 예시:

# 퍼블릭 서브넷 라우팅 테이블
목적지           게이트웨이         설명
──────────────────────────────────────────────
10.0.0.0/16     local             VPC 내부 통신
0.0.0.0/0       igw-xxxxx         인터넷 게이트웨이

# 프라이빗 서브넷 라우팅 테이블
목적지           게이트웨이         설명
──────────────────────────────────────────────
10.0.0.0/16     local             VPC 내부 통신
0.0.0.0/0       nat-xxxxx         NAT 게이트웨이


서브넷 (Subnet): 네트워크 분할과 주소 체계

서브넷 마스크의 진화: 클래스에서 CIDR로

전통적 클래스 기반 주소 체계의 한계:

클래스 A: 0.0.0.0   ~ 127.255.255.255   (1,600만 주소/네트워크)
클래스 B: 128.0.0.0 ~ 191.255.255.255   (65,536 주소/네트워크)
클래스 C: 192.0.0.0 ~ 223.255.255.255   (254 주소/네트워크)

문제점:
- 클래스 A: 너무 큼 (주소 낭비)
- 클래스 C: 너무 작음 (기업 사용 불가)
- 유연성 부족 (고정된 크기만 사용 가능)

CIDR (Classless Inter-Domain Routing): 유연한 주소 할당

CIDR 표기법:

CIDR 표기법 해부:
═══════════════════════════════════════════════════════

192.168.1.0/24
    │        │
    │        └─ 프리픽스 길이
    │           (상위 24비트는 네트워크 주소)
    │           (하위 8비트는 호스트 주소)
    │
    └─ IP 주소

사용 가능 주소:
─────────────────────────────
2^8 = 256개
실제 사용: 254개 (네트워크/브로드캐스트 제외)

CIDR 계산 예시:

192.168.1.0/24
─────────────────────────────────────────
네트워크 주소:    192.168.1.0
첫 번째 호스트:   192.168.1.1
마지막 호스트:    192.168.1.254
브로드캐스트:     192.168.1.255
총 주소:          256개
사용 가능:        254개

192.168.1.0/25 (서브넷 분할)
─────────────────────────────────────────
서브넷 1:         192.168.1.0/25   (192.168.1.0   ~ 192.168.1.127)
서브넷 2:         192.168.1.128/25 (192.168.1.128 ~ 192.168.1.255)
각 서브넷:        126개 호스트

서브넷 설계 실전 가이드

엔터프라이즈 네트워크 서브넷 구성:

본사 네트워크 서브넷 구성 (10.0.0.0/16 = 65,536 주소):
═══════════════════════════════════════════════════════

10.0.0.0/24     관리 네트워크 (254 호스트)
    │
    ├─ 10.0.0.10    DHCP 서버
    ├─ 10.0.0.11    DNS 서버
    └─ 10.0.0.12    NTP 서버

10.0.1.0/22     직원 네트워크 (1,022 호스트)
    │
    └─ 일반 사용자 PC

10.0.10.0/24    서버 네트워크 (254 호스트)
    │
    ├─ 웹 서버
    ├─ 앱 서버
    └─ DB 서버

10.0.20.0/28    DMZ (14 호스트)
    │
    └─ 공개 서비스

10.0.30.0/23    게스트 WiFi (510 호스트)
    │
    └─ 방문자 접속

설계 원칙:
─────────────────────────────
- 용도별 분리
- 적절한 크기 할당
- 확장 여유 확보

클라우드 VPC 서브넷 베스트 프랙티스:

VPC 서브넷 설계 (10.0.0.0/16):
═══════════════════════════════════════════════════════

가용영역 A (Multi-AZ 고가용성)
─────────────────────────────
10.0.1.0/24     퍼블릭 서브넷
    └─ 웹 서버, 로드밸런서

10.0.11.0/24    프라이빗 서브넷
    └─ 애플리케이션 서버

10.0.21.0/24    데이터베이스 서브넷
    └─ RDS, ElastiCache

가용영역 B (Multi-AZ 고가용성)
─────────────────────────────
10.0.2.0/24     퍼블릭 서브넷
10.0.12.0/24    프라이빗 서브넷
10.0.22.0/24    데이터베이스 서브넷

설계 고려사항:
─────────────────────────────
- 고가용성 (다중 AZ)
- 계층 분리 (보안 강화)
- 주소 낭비 최소화

서브넷 마스크 계산 실무 팁

빠른 계산법:

/24 = 255.255.255.0   → 256개 주소 (254개 사용)
/25 = 255.255.255.128 → 128개 주소 (126개 사용)
/26 = 255.255.255.192 → 64개 주소  (62개 사용)
/27 = 255.255.255.224 → 32개 주소  (30개 사용)
/28 = 255.255.255.240 → 16개 주소  (14개 사용)
/29 = 255.255.255.248 → 8개 주소   (6개 사용)
/30 = 255.255.255.252 → 4개 주소   (2개 사용, P2P 링크)

실무 도구 활용:

# Linux/Mac에서 서브넷 계산
$ ipcalc 192.168.1.0/24
Address:   192.168.1.0
Netmask:   255.255.255.0 = 24
Wildcard:  0.0.0.255
Network:   192.168.1.0/24
 HostMin:   192.168.1.1
 HostMax:   192.168.1.254
Broadcast: 192.168.1.255
Hosts/Net: 254

IPv6: 차세대 인터넷 프로토콜

IPv4 한계와 IPv6 도입

IPv4 주소 고갈 현실:

IPv6의 압도적 주소 공간:

주소 공간 비교:
═══════════════════════════════════════════════════════

IPv4 (32비트):
─────────────────────────────
43억 개 (4,294,967,296)
2^32 주소

IPv6 (128비트):
─────────────────────────────
340간 개 (3.4 × 10^38)
2^128 주소

IPv6 주소 구조와 표기법

주소 형식:

완전한 형식:
2001:0db8:85a3:0000:0000:8a2e:0370:7334

압축 형식 (연속된 0 생략):
2001:0db8:85a3::8a2e:0370:7334

앞자리 0 생략:
2001:db8:85a3::8a2e:370:7334

주소 구성 요소:

IPv6 주소 구조 (128비트):
═══════════════════════════════════════════════════════

2001:0db8:85a3:0042::1
  │     │     │   │   │
  └─────┴─────┘   │   │
    글로벌         │   │
    라우팅         │   └─ 인터페이스 ID (64비트)
    프리픽스       │      호스트 식별
    (48비트)       │
    ISP 할당       └─ 서브넷 ID (16비트)
                      조직 내 분할

구성:
─────────────────────────────
48비트: 글로벌 라우팅 프리픽스
16비트: 서브넷 ID
64비트: 인터페이스 ID

IPv6 주요 특징과 개선사항

IPv4 대비 핵심 개선:

IPv6의 혁신:
═══════════════════════════════════════════════════════

1. 주소 공간 확장
   - 사실상 무한대의 주소

2. 헤더 단순화
   - 라우팅 효율 증가

3. 자동 구성
   - SLAAC (Stateless Address Autoconfiguration)

4. 보안 내장
   - IPsec 필수

5. QoS 지원
   - 플로우 레이블

NAT 불필요:
─────────────────────────────
- 엔드투엔드 통신 복원
- P2P 자유로움

주소 타입 비교:

|타입|IPv4|IPv6|설명|

|---|---|---|---|

|유니캐스트|개별 주소|개별 주소|1:1 통신|

|브로드캐스트|255.255.255.255|❌ 없음|전체 전송 (IPv6는 멀티캐스트로 대체)|

|멀티캐스트|224.0.0.0/4|FF00::/8|그룹 전송|

|애니캐스트|❌ 비공식|✅ 공식 지원|가장 가까운 노드로 전송|

IPv6 자동 구성: SLAAC

SLAAC (Stateless Address Autoconfiguration): DHCP 없이도 자동으로 IPv6 주소 할당

SLAAC 동작 과정:
═══════════════════════════════════════════════════════

새 호스트              IPv6 라우터
(부팅)                 (네트워크 제공)
    │                       │
    │ 1. 링크-로컬 주소 생성│
    │    fe80::/64 + MAC ID │
    │                       │
    │ 2. Router Solicitation│
    │  "라우터 정보 주세요" │
    ├──────────────────────>│
    │                       │
    │ 3. Router Advertisement│
    │  "프리픽스:           │
    │<──────────────────────┤
    │   2001:db8::/64"      │
    │                       │
    │ 4. 글로벌 주소 생성   │
    │    2001:db8:: + ID    │
    │                       │
    │ 5. DAD (중복 탐지)    │
    │    Neighbor Solicit   │
    │                       │
    │ 6. 주소 설정 완료     │
    │    통신 시작          │

DHCPv6와의 조합:

IPv6 주소 할당 방식:
═══════════════════════════════════════════════════════

1. SLAAC (상태 없음)
   - 주소 자동 생성
   - DNS 정보 없음

2. DHCPv6 (상태 있음)
   - 모든 정보 서버 관리
   - IPv4 DHCP와 유사

3. SLAAC + DHCPv6 (하이브리드)
   - 주소는 SLAAC
   - DNS는 DHCPv6

IPv4/IPv6 공존 전략

전환 메커니즘:

IPv4/IPv6 공존 방법:
═══════════════════════════════════════════════════════

1. 듀얼 스택 (Dual Stack)
   ─────────────────────────────
   - IPv4와 IPv6 동시 실행
   - 가장 일반적

   [애플리케이션]
         │
    ┌────┴────┐
    │         │
   IPv4     IPv6
   스택     스택
    │         │
    └────┬────┘
         │
    [이더넷]

2. 터널링 (Tunneling)
   ─────────────────────────────
   - IPv6 over IPv4
   - 6to4, Teredo
   - IPv4 네트워크를 IPv6로 터널링

3. 변환 (Translation)
   ─────────────────────────────
   - NAT64/DNS64
   - 프로토콜 간 주소 변환

듀얼 스택 구성 예시:

호스트 네트워크 스택:
═══════════════════════════════════════════════════════

[애플리케이션 계층]
         │
         ▼
    [TCP/UDP]
         │
    ┌────┴────┐
    │         │
    ▼         ▼
[IPv4]    [IPv6]
  스택      스택
    │         │
    └────┬────┘
         │
         ▼
    [이더넷]

외부 통신:
─────────────────────────────
- IPv4 목적지 → IPv4 사용
- IPv6 목적지 → IPv6 사용

종합: 현대 네트워크의 통합 아키텍처

모든 요소가 협력하는 실전 시나리오

기업 네트워크 구성 예시:

기업 네트워크 전체 구조:
═══════════════════════════════════════════════════════

인터넷 (IPv4 + IPv6)
    │
    └─> [ISP 라우터: BGP AS 1234]
            │
            ▼
    ┌─────────────────┐
    │  경계 계층       │
    ├─────────────────┤
    │ 엣지 라우터     │ ← 기본 GW: ISP, NAT/NAPT 수행
    │ 방화벽          │
    └─────────────────┘
            │
            ▼
    ┌─────────────────────────────────────┐
    │ 코어 네트워크 (10.0.0.0/16)         │
    ├─────────────────────────────────────┤
    │ [L3 스위치: OSPF 라우팅]            │
    │                                     │
    │  ┌──────────────────────────────┐  │
    │  │ 관리 서브넷 (10.0.0.0/24)    │  │
    │  ├──────────────────────────────┤  │
    │  │ DHCP: 10.0.0.10              │  │
    │  │ DNS:  10.0.0.11              │  │
    │  └──────────────────────────────┘  │
    │                                     │
    │  ┌──────────────────────────────┐  │
    │  │ 직원 서브넷 (10.0.1.0/22)    │  │
    │  ├──────────────────────────────┤  │
    │  │ 직원 PC (DHCP 할당)          │  │
    │  │ 노트북 (듀얼 스택)           │  │
    │  └──────────────────────────────┘  │
    │                                     │
    │  ┌──────────────────────────────┐  │
    │  │ 서버 서브넷 (10.0.10.0/24)   │  │
    │  ├──────────────────────────────┤  │
    │  │ 웹서버 (고정 IP)             │  │
    │  │ DB서버 (고정 IP)             │  │
    │  └──────────────────────────────┘  │
    └─────────────────────────────────────┘

동작 흐름:
─────────────────────────────
1. DHCP로 IP 자동 할당
2. 내부: OSPF 라우팅
3. 외부: NAT 주소 변환
4. 기본 GW로 인터넷 연결

패킷 여행의 전체 과정

시나리오: 직원 PC에서 외부 웹사이트 접속

패킷 여행의 전 과정:
═══════════════════════════════════════════════════════

직원 PC           DHCP   L3       NAT      ISP      웹 서버
10.0.1.100        서버   스위치   라우터   (BGP)    142.250.185.46
    │              │      │        │        │            │
    │ [부팅 시]    │      │        │        │            │
    │ DHCP Discover│      │        │        │            │
    ├─────────────>│      │        │        │            │
    │              │      │        │        │            │
    │ IP: 10.0.1.100      │        │        │            │
    │<─────────────┤      │        │        │            │
    │ GW: 10.0.1.1 │      │        │        │            │
    │ DNS: 10.0.0.11      │        │        │            │
    │              │      │        │        │            │
    │ [웹 접속]    │      │        │        │            │
    │ 목적: 142.250.185.46│        │        │            │
    │ 출발: 10.0.1.100    │        │        │            │
    ├────────────────────>│        │        │            │
    │              │      │        │        │            │
    │              │      │ [라우팅 테이블]│            │
    │              │      │ 매칭 없음      │            │
    │              │      │ → 기본 GW      │            │
    │              │      │        │        │            │
    │              │      ├───────>│        │            │
    │              │      │        │        │            │
    │              │      │        │ [NAPT] │            │
    │              │      │        │ 10.0.1.100:54321    │
    │              │      │        │ → 203.0.113.5:20001 │
    │              │      │        │        │            │
    │              │      │        ├───────>│            │
    │              │      │        │ 출발: 203.0.113.5   │
    │              │      │        │ 목적: 142.250.185.46│
    │              │      │        │        │            │
    │              │      │        │        │ [BGP]      │
    │              │      │        │        │ 최적 경로  │
    │              │      │        │        │            │
    │              │      │        │        ├───────────>│
    │              │      │        │        │            │
    │              │      │        │        │ 응답       │
    │              │      │        │        │<───────────┤
    │              │      │        │ 목적: 203.0.113.5   │
    │              │      │        │<───────┤            │
    │              │      │        │        │            │
    │              │      │        │ [NAPT 테이블 조회] │
    │              │      │        │ 20001 → 10.0.1.100  │
    │              │      │ 목적: 10.0.1.100            │
    │              │      │<───────┤        │            │
    │              │      │        │        │            │
    │              │      │ [서브넷 매칭]              │
    │              │      │ 10.0.1.0/22                 │
    │<────────────────────┤        │        │            │
    │              │      │        │        │            │

네트워크 설계 핵심 원칙

계층적 설계:

네트워크 3계층 설계:
═══════════════════════════════════════════════════════

액세스 계층 (Access Layer)
─────────────────────────────
- 최종 사용자 연결
- 스위치, 액세스 포인트
- VLAN 분할
- 보안 정책 적용

분산 계층 (Distribution Layer)
─────────────────────────────
- 라우팅과 정책
- L3 스위치, 방화벽
- DHCP, NAT 수행
- 서브넷 간 통신

코어 계층 (Core Layer)
─────────────────────────────
- 고속 전송
- 코어 스위치, 라우터
- 최소 정책, 최대 성능

자동화와 관리:

현대 네트워크 관리:
═══════════════════════════════════════════════════════

DHCP              → IP 자동 할당
라우팅 프로토콜    → 동적 경로 학습
NAT/NAPT          → 주소 자동 변환
IPv6 SLAAC        → 무상태 자동 구성

운영 효율성:
─────────────────────────────
- 수동 개입 최소화
- 장애 자동 복구
- 확장성 확보

핵심 개념 정리

네트워크 자동화 기술 요약

DHCP:

NAT/NAPT:

라우팅:

기본 게이트웨이:

서브넷:

실무 적용 체크리스트

네트워크 설계 시 고려사항:

✅ DHCP 풀 크기 산정
   - 동시 접속 사용자 수 + 20% 여유

✅ 서브넷 분할 전략
   - 부서/기능별 독립 서브넷
   - 적절한 CIDR 블록 할당 (/24, /22 등)

✅ 라우팅 프로토콜 선택
   - 소규모: 정적 라우팅
   - 중규모: OSPF
   - 대규모/ISP: BGP

✅ NAT/방화벽 정책
   - 아웃바운드: NAT 활성화
   - 인바운드: 필요한 포트만 포워딩

✅ IPv6 전환 계획
   - 듀얼 스택 구성
   - 점진적 마이그레이션

트러블슈팅 흐름:

네트워크 문제 대응 프로세스:
═══════════════════════════════════════════════════════

[네트워크 문제 발생]
         │
         ▼
    ┌─────────────┐
    │ IP 주소     │
    │ 할당됨?     │
    └─────────────┘
         │     │
        NO    YES
         │     │
         ▼     ▼
    [DHCP 확인] ┌─────────────┐
    - 서버      │ 로컬 통신   │
    - 임대 풀   │ 가능?       │
                └─────────────┘
                     │     │
                    NO    YES
                     │     │
                     ▼     ▼
                [서브넷  ┌─────────────┐
                 마스크  │ 외부 통신   │
                 확인]   │ 가능?       │
                         └─────────────┘
                              │     │
                             NO    YES
                              │     │
                              ▼     ▼
                         [기본 GW] [DNS 문제]
                         - 라우팅  [앱 문제]
                         - NAT

네트워크는 결국 경로 찾기

패킷 전달의 핵심 질문:
═══════════════════════════════════════════════════════

누구에게?          → IP 주소
어떻게 찾아?       → 라우팅
주소가 부족하면?   → NAT/IPv6
자동화는?          → DHCP
네트워크 분할은?   → 서브넷

결국 모두 연결됨:
─────────────────────────────
- 효율적 경로 결정
- 자동화된 관리
- 확장 가능한 구조